package seguranca.model;
// Generated Oct 23, 2014 7:15:00 PM by Hibernate Tools 4.3.1


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * TbPessoa generated by hbm2java
 */
@Entity
@Table(name="tb_pessoa"
    ,catalog="bd_prototipo"
)
public class TbPessoa  implements java.io.Serializable {


     private int idtPessoa;
     private TbCargo tbCargo;
     private TbPessoa tbPessoa;
     private String nmePessoa;
     private String dscEstadoCivil;
     private String tpoGenero;
     private Date dtaNascimento;
     private String dscNaturalidade;
     private String nmePai;
     private String nmeMae;
     private String dscRelacaoFamiliarDependente;
     private Set<TbPessoa> tbPessoas = new HashSet<TbPessoa>(0);
     private Set<TbFoto> tbFotos = new HashSet<TbFoto>(0);
     private Set<TbPassaporteDiplomatico> tbPassaporteDiplomaticos = new HashSet<TbPassaporteDiplomatico>(0);
     private Set<TbProtocolo> tbProtocolos = new HashSet<TbProtocolo>(0);
     private Set<TbNomeAnterior> tbNomeAnteriors = new HashSet<TbNomeAnterior>(0);
     private Set<TbEndereco> tbEnderecos = new HashSet<TbEndereco>(0);
     private Set<TbDocumentoIdentificacao> tbDocumentoIdentificacaos = new HashSet<TbDocumentoIdentificacao>(0);
     private Set<TaPessoaPaisNacionalidade> taPessoaPaisNacionalidades = new HashSet<TaPessoaPaisNacionalidade>(0);
     private Set<TbUsuario> tbUsuarios = new HashSet<TbUsuario>(0);
     private Set<TbRequisicao> tbRequisicaos = new HashSet<TbRequisicao>(0);

    public TbPessoa() {
    }

	
    public TbPessoa(int idtPessoa, TbCargo tbCargo, String nmePessoa, String dscEstadoCivil, String tpoGenero, Date dtaNascimento, String dscNaturalidade) {
        this.idtPessoa = idtPessoa;
        this.tbCargo = tbCargo;
        this.nmePessoa = nmePessoa;
        this.dscEstadoCivil = dscEstadoCivil;
        this.tpoGenero = tpoGenero;
        this.dtaNascimento = dtaNascimento;
        this.dscNaturalidade = dscNaturalidade;
    }
    public TbPessoa(int idtPessoa, TbCargo tbCargo, TbPessoa tbPessoa, String nmePessoa, String dscEstadoCivil, String tpoGenero, Date dtaNascimento, String dscNaturalidade, String nmePai, String nmeMae, String dscRelacaoFamiliarDependente, Set<TbPessoa> tbPessoas, Set<TbFoto> tbFotos, Set<TbPassaporteDiplomatico> tbPassaporteDiplomaticos, Set<TbProtocolo> tbProtocolos, Set<TbNomeAnterior> tbNomeAnteriors, Set<TbEndereco> tbEnderecos, Set<TbDocumentoIdentificacao> tbDocumentoIdentificacaos, Set<TaPessoaPaisNacionalidade> taPessoaPaisNacionalidades, Set<TbUsuario> tbUsuarios, Set<TbRequisicao> tbRequisicaos) {
       this.idtPessoa = idtPessoa;
       this.tbCargo = tbCargo;
       this.tbPessoa = tbPessoa;
       this.nmePessoa = nmePessoa;
       this.dscEstadoCivil = dscEstadoCivil;
       this.tpoGenero = tpoGenero;
       this.dtaNascimento = dtaNascimento;
       this.dscNaturalidade = dscNaturalidade;
       this.nmePai = nmePai;
       this.nmeMae = nmeMae;
       this.dscRelacaoFamiliarDependente = dscRelacaoFamiliarDependente;
       this.tbPessoas = tbPessoas;
       this.tbFotos = tbFotos;
       this.tbPassaporteDiplomaticos = tbPassaporteDiplomaticos;
       this.tbProtocolos = tbProtocolos;
       this.tbNomeAnteriors = tbNomeAnteriors;
       this.tbEnderecos = tbEnderecos;
       this.tbDocumentoIdentificacaos = tbDocumentoIdentificacaos;
       this.taPessoaPaisNacionalidades = taPessoaPaisNacionalidades;
       this.tbUsuarios = tbUsuarios;
       this.tbRequisicaos = tbRequisicaos;
    }
   
     @Id 

    
    @Column(name="idt_pessoa", unique=true, nullable=false)
    public int getIdtPessoa() {
        return this.idtPessoa;
    }
    
    public void setIdtPessoa(int idtPessoa) {
        this.idtPessoa = idtPessoa;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="cod_cargo", nullable=false)
    public TbCargo getTbCargo() {
        return this.tbCargo;
    }
    
    public void setTbCargo(TbCargo tbCargo) {
        this.tbCargo = tbCargo;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="cod_pessoa")
    public TbPessoa getTbPessoa() {
        return this.tbPessoa;
    }
    
    public void setTbPessoa(TbPessoa tbPessoa) {
        this.tbPessoa = tbPessoa;
    }

    
    @Column(name="nme_pessoa", nullable=false, length=80)
    public String getNmePessoa() {
        return this.nmePessoa;
    }
    
    public void setNmePessoa(String nmePessoa) {
        this.nmePessoa = nmePessoa;
    }

    
    @Column(name="dsc_estado_civil", nullable=false, length=1)
    public String getDscEstadoCivil() {
        return this.dscEstadoCivil;
    }
    
    public void setDscEstadoCivil(String dscEstadoCivil) {
        this.dscEstadoCivil = dscEstadoCivil;
    }

    
    @Column(name="tpo_genero", nullable=false, length=1)
    public String getTpoGenero() {
        return this.tpoGenero;
    }
    
    public void setTpoGenero(String tpoGenero) {
        this.tpoGenero = tpoGenero;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="dta_nascimento", nullable=false, length=10)
    public Date getDtaNascimento() {
        return this.dtaNascimento;
    }
    
    public void setDtaNascimento(Date dtaNascimento) {
        this.dtaNascimento = dtaNascimento;
    }

    
    @Column(name="dsc_naturalidade", nullable=false, length=200)
    public String getDscNaturalidade() {
        return this.dscNaturalidade;
    }
    
    public void setDscNaturalidade(String dscNaturalidade) {
        this.dscNaturalidade = dscNaturalidade;
    }

    
    @Column(name="nme_pai", length=80)
    public String getNmePai() {
        return this.nmePai;
    }
    
    public void setNmePai(String nmePai) {
        this.nmePai = nmePai;
    }

    
    @Column(name="nme_mae", length=80)
    public String getNmeMae() {
        return this.nmeMae;
    }
    
    public void setNmeMae(String nmeMae) {
        this.nmeMae = nmeMae;
    }

    
    @Column(name="dsc_relacao_familiar_dependente", length=200)
    public String getDscRelacaoFamiliarDependente() {
        return this.dscRelacaoFamiliarDependente;
    }
    
    public void setDscRelacaoFamiliarDependente(String dscRelacaoFamiliarDependente) {
        this.dscRelacaoFamiliarDependente = dscRelacaoFamiliarDependente;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="tbPessoa")
    public Set<TbPessoa> getTbPessoas() {
        return this.tbPessoas;
    }
    
    public void setTbPessoas(Set<TbPessoa> tbPessoas) {
        this.tbPessoas = tbPessoas;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="tbPessoa")
    public Set<TbFoto> getTbFotos() {
        return this.tbFotos;
    }
    
    public void setTbFotos(Set<TbFoto> tbFotos) {
        this.tbFotos = tbFotos;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="tbPessoa")
    public Set<TbPassaporteDiplomatico> getTbPassaporteDiplomaticos() {
        return this.tbPassaporteDiplomaticos;
    }
    
    public void setTbPassaporteDiplomaticos(Set<TbPassaporteDiplomatico> tbPassaporteDiplomaticos) {
        this.tbPassaporteDiplomaticos = tbPassaporteDiplomaticos;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="tbPessoa")
    public Set<TbProtocolo> getTbProtocolos() {
        return this.tbProtocolos;
    }
    
    public void setTbProtocolos(Set<TbProtocolo> tbProtocolos) {
        this.tbProtocolos = tbProtocolos;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="tbPessoa")
    public Set<TbNomeAnterior> getTbNomeAnteriors() {
        return this.tbNomeAnteriors;
    }
    
    public void setTbNomeAnteriors(Set<TbNomeAnterior> tbNomeAnteriors) {
        this.tbNomeAnteriors = tbNomeAnteriors;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="tbPessoa")
    public Set<TbEndereco> getTbEnderecos() {
        return this.tbEnderecos;
    }
    
    public void setTbEnderecos(Set<TbEndereco> tbEnderecos) {
        this.tbEnderecos = tbEnderecos;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="tbPessoa")
    public Set<TbDocumentoIdentificacao> getTbDocumentoIdentificacaos() {
        return this.tbDocumentoIdentificacaos;
    }
    
    public void setTbDocumentoIdentificacaos(Set<TbDocumentoIdentificacao> tbDocumentoIdentificacaos) {
        this.tbDocumentoIdentificacaos = tbDocumentoIdentificacaos;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="tbPessoa")
    public Set<TaPessoaPaisNacionalidade> getTaPessoaPaisNacionalidades() {
        return this.taPessoaPaisNacionalidades;
    }
    
    public void setTaPessoaPaisNacionalidades(Set<TaPessoaPaisNacionalidade> taPessoaPaisNacionalidades) {
        this.taPessoaPaisNacionalidades = taPessoaPaisNacionalidades;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="tbPessoa")
    public Set<TbUsuario> getTbUsuarios() {
        return this.tbUsuarios;
    }
    
    public void setTbUsuarios(Set<TbUsuario> tbUsuarios) {
        this.tbUsuarios = tbUsuarios;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="tbPessoa")
    public Set<TbRequisicao> getTbRequisicaos() {
        return this.tbRequisicaos;
    }
    
    public void setTbRequisicaos(Set<TbRequisicao> tbRequisicaos) {
        this.tbRequisicaos = tbRequisicaos;
    }




}


